package com.atguigu.yygh.user.service;

import com.atguigu.yygh.model.user.UserInfo;
import com.atguigu.yygh.vo.user.LoginVo;
import com.atguigu.yygh.vo.user.UserAuthVo;
import com.atguigu.yygh.vo.user.UserInfoQueryVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

public interface UserInfoService extends IService<UserInfo> {
    // 用户登录功能
    Map<String, Object> loginUserInfo(LoginVo loginVo);

    UserInfo getByOpenid(String openId);

    /**用户认证设计接口：
     * 1、提交认证
     * 2、上传证件图片
     * 3、获取提交认证信息
     *
     * @param userInfoId
     * @param userAuthVo
     * @return
     */
    String commitUserInfoAuth(Long userInfoId, UserAuthVo userAuthVo);

    /**
     * 条件查询带分页
     * @param page
     * @param limit
     * @param userInfoQueryVo
     * @return
     */
    IPage<UserInfo> findUserInfoListPage(Long page, Long limit, UserInfoQueryVo userInfoQueryVo);

    /**
     * 通过用户Id查看详情
     * @param userInfoId
     * @return
     */
    Map<String, Object> show(Long userInfoId);

    /**
     * 认证审批
     * @param userId
     * @param authStatus 2：通过 -1：不通过
     */
    void approval(Long userId, Integer authStatus);


}
